(components) feature: Use CSS @layer for specificity control#466
(components) feature: Use CSS @layer for specificity control#466
@layer for specificity control#466Conversation
🦋 Changeset detectedLatest commit: 12c0134 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Co-authored-by: marlonmarcello <1956448+marlonmarcello@users.noreply.github.com>
@layer for specificity control
|
@copilot |
Co-authored-by: marlonmarcello <1956448+marlonmarcello@users.noreply.github.com>
|
@copilot make sure you run |
Co-authored-by: marlonmarcello <1956448+marlonmarcello@users.noreply.github.com>
|
@copilot we are getting an error in CI during test, I think it's one of the updated packages being problematic: |
... This is a transient 502 Bad Gateway error from the npm registry (https://registry.yarnpkg.com) when fetching |
Description
Implements CSS
@layerto provide explicit cascade control. Users can now override component styles without resorting to specificity hacks or!important.Solution
Established four layers in ascending specificity order:
Layer assignments:
reset: CSS resets (src/styles/reset.scss)global: CSS custom properties for animations, typography, grid layoututility: Color, spacing, and visibility utilities (3 files)component: All component module styles (20 files)Sass constraint:
@usestatements must precede@layerdirectives. Each file with imports places@usefirst, then wraps content in the appropriate layer.Version: Tagged as patch update in changeset (
.changeset/tangy-ways-reply.md)Additional Notes
Users can now override any component style by adding their own unlayered CSS or by creating a higher-priority layer. Browser support: 96%+ (all modern browsers).
Example generated CSS:
Screenshots
N/A - CSS structural change with no visual impact. Verified via Storybook build output showing correct
@layerdirectives.Original prompt
@layer#186✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.